home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_c.h" int r818a_identifier2(T818* C){ int R=0; int _do_warning=0; int _state=0; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((65<=z1)&&(z1<=90))){ _do_warning=1; /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } /*IF*/if (r511isa_keyword()) { _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/; while (!((_state)==(0))) { _state=(_state)-(1); r818prev_char(C); } } else { R=1; r818skip_comments(C); /*IF*/if (_do_warning) { r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms159_818)); } /*FI*/} /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_minus*/ /*No:EIFFEL_PARSER.fz_elseif*/ T0*oBC818lcs=NULL; /*No:EIFFEL_PARSER.end_of_text*/ void r818prev_char(T818* C){ /*IF*/if (((((T818*)C))->_column/*12*/)>(1)) { C->_column=((((T818*)C))->_column/*12*/)-(1); C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/; } else { /*IF*/if (((((T818*)C))->_line/*16*/)>(1)) { C->_line=((((T818*)C))->_line/*16*/)-(1); C->_current_line=r676item((((T818*)C))->_line/*16*/); C->_column=((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1); C->_cc='\n'; } else { C->_column=0; C->_cc='\0'; } /*FI*/} /*FI*/} void r818a_indexing(T818* C){ /*IF*/if (r818a_keyword(C,((T0*)ms22_470))) { r818a_index_list(C); } /*FI*/} void r818next_char(T818* C){ /*IF*/if (((((T818*)C))->_column/*12*/)<((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) { C->_column=((((T818*)C))->_column/*12*/)+(1); C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/; } else if (((((T818*)C))->_column/*12*/)==((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) { C->_column=((((T818*)C))->_column/*12*/)+(1); C->_cc='\n'; } else if (((((T818*)C))->_line/*16*/)==((((T676*)((T676*)(oBC364parser_buffer))))->_count/*4*/)) { C->_cc='\0'; } else { C->_column=1; C->_line=((((T818*)C))->_line/*16*/)+(1); C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) { C->_cc='\n'; } else { C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/; } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.fz_redefine*/ T0* r818pos(int a1,int a2){ T0* R=NULL; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,a1,a2); R=(T0*)n; } return R; } /*No:EIFFEL_PARSER.fz_variant*/ /*No:EIFFEL_PARSER.wcp*/ int r818a_base_class_name(T818* C){ int R=0; int _do_warning=0; int _state=0; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) { _do_warning=1; C->_cc=r3to_upper((((T818*)C))->_cc/*24*/); } /*FI*/r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((97<=z1)&&(z1<=122))){ _do_warning=1; /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } /*IF*/if (r511isa_keyword()) { _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/; while (!((_state)==(0))) { _state=(_state)-(1); r818prev_char(C); } } else { R=1; r818skip_comments(C); /*IF*/if (_do_warning) { r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms153_818)); } /*FI*/C->_last_class_name=r511to_class_name(((T511*)(oBC818tmp_name))); } /*FI*/} /*FI*/return R; } void r818a_formal_generic_list(T818* C){ int _state=0; T0* _list=NULL; T0* _fga=NULL; T0* _constraint=NULL; T0* _name=NULL; T0* _sp=NULL; C->_formal_generic_list=NULL; while (!((_state)>(4))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\133')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=5; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_base_class_name(C)) { _name=(((T818*)C))->_last_class_name/*89*/; _state=2; } else { _state=6; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip2(C,'\55','\76')) { _state=4; } else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,_name,_constraint); _fga=(T0*)n; } _name=NULL; _constraint=NULL; /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma681(1,_fga); } else { r681add_last(((T681*)_list),_fga); } /*FI*/_fga=NULL; /*IF*/if (r818skip1(C,'\54')) { _state=1; } else { C->_ok=r818skip1(C,'\135'); _state=5; } /*FI*/} else { _state=6; } /*FI*/} else if((3==z1)){ /*IF*/if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,_name,_constraint); _fga=(T0*)n; } _name=NULL; _constraint=NULL; /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma681(1,_fga); } else { r681add_last(((T681*)_list),_fga); } /*FI*/_fga=NULL; /*IF*/if (r818skip1(C,'\54')) { _state=1; } else { C->_ok=r818skip1(C,'\135'); _state=5; } /*FI*/} else { _state=6; } /*FI*/} else{/*IF*/if (r818a_class_type(C)) { _constraint=(((T818*)C))->_last_class_type/*93*/; _state=3; } else { r818fcp(C,((T0*)ms94_818)); _state=6; } /*FI*/}} } /*IF*/if ((_state)==(6)) { } else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) { r818warning(_sp,((T0*)ms95_818)); } else if ((_sp)!=((void*)(NULL))) { {T881*n=malloc(sizeof(*n)); *n=M881; r881make(n,_sp,_list); C->_formal_generic_list=(T0*)n; } /*[IRF3.3set_formal_generic_list*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_formal_generic_list)=((((T818*)C))->_formal_generic_list/*33*/); /*]*/ } /*FI*/} int r818a_void(T818* C){ int R=0; /*IF*/if (r511is_void()) { C->_last_expression=r511to_e_void(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_like*/ T0* r818a_assertion(T818* C){ T0* R=NULL; int _state=0; T0* _assertion=NULL; T0* _expression=NULL; T0* _tag=NULL; while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); /*IF*/if (((((T818*)C))->_last_comments/*25*/)!=((void*)(NULL))) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/} /*FI*/} else if (r818a_tag_mark(C)) { _tag=(((T818*)C))->_last_tag_mark/*161*/; _state=1; } else if (r818a_expression(C)) { _expression=(((T818*)C))->_last_expression/*97*/; _state=2; } else { _state=4; } /*FI*/} else if((1==z1)){ /*IF*/if (r818skip1(C,'\73')) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=0; } else if (r818a_tag_mark(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/; } else if (r818a_expression(C)) { _expression=(((T818*)C))->_last_expression/*97*/; _state=3; } else { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,NULL,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=4; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\73')) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=0; } else if (r818a_tag_mark(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/; _state=1; } else if (r818a_expression(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_expression=(((T818*)C))->_last_expression/*97*/; _state=2; } else { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,NULL,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=4; } /*FI*/} else{/*IF*/if (r818skip1(C,'\73')) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=0; } else if (r818a_tag_mark(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/; _state=1; } else if (r818a_expression(C)) { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_expression=(((T818*)C))->_last_expression/*97*/; _state=2; } else { {T348*n=malloc(sizeof(*n)); *n=M348; r348make(n,_tag,_expression,r818get_comments(C)); _assertion=(T0*)n; } /*IF*/if ((R)==((void*)(NULL))) { R=se_ma608(1,_assertion); } else { r608add_last(((T608*)R),_assertion); } /*FI*/_state=4; } /*FI*/}} } return R; } void r818wcpefnc(T818* C,T0* a1,T0* a2){ /*[IRF3.6append*/{T0* b1=((T0*)ms136_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms137_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms138_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*No:EIFFEL_PARSER.us_double*/ T0* r818a_alias(T818* C){ T0* R=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms1_470))) { /*IF*/if (r818a_manifest_string(C)) { R=(((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*16*/; } else { r818fcp(C,((T0*)ms91_818)); } /*FI*/} /*FI*/return R; } T0* r818parse_run_type(T818* C){ T0* R=NULL; /*IF*/if (r818a_class_type(C)) { R=(((T818*)C))->_last_class_type/*93*/; } else { r818fcp(C,((T0*)ms156_818)); } /*FI*/return R; } int r818a_debug(T818* C){ int R=0; T0* _e_debug=NULL; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms7_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818skip1(C,'\50')) { while (!(!(r818a_manifest_string(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma381(1,(((T818*)C))->_last_manifest_string/*145*/); } else { r381add_last(((T381*)_list),(((T818*)C))->_last_manifest_string/*145*/); } /*FI*/C->_ok=r818skip1(C,'\54'); } /*IF*/if ((_list)==((void*)(NULL))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms69_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms70_818)); } /*FI*/} /*FI*/R=1; {T347*n=malloc(sizeof(*n)); *n=M347; r347make(n,_sp,_list,r818a_compound2(C,((T0*)ms71_818),((T0*)ms12_470))); _e_debug=(T0*)n; } C->_last_instruction=_e_debug; } /*FI*/return R; } int r818a_real(T818* C){ int R=0; int _c=0; int _l=0; int _state=0; /*IF*/if ((r3is_digit((((T818*)C))->_cc/*24*/))||(((((T818*)C))->_cc/*24*/)==('\56'))) { _l=(((T818*)C))->_line/*16*/; _c=(((T818*)C))->_column/*12*/; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0); /*]*/ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\56')) { r7append(((T7*)(oBC818tmp_string)),((T0*)ms185_470)); _state=5; } else { r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } /*FI*/while (!((_state)>(11))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else if((46==z2)){ r7extend(((T7*)(oBC818tmp_string)),'\56'); _state=4; } else{_state=13; }} } else if((1==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=2; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((2==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=3; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((3==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=0; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((4==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=6; } else if((69==z2)||(101==z2)){ r7extend(((T7*)(oBC818tmp_string)),'E'); _state=10; } else{_state=12; }} } else if((5==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=6; } else{_state=13; }} } else if((6==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else if((69==z2)||(101==z2)){ r7extend(((T7*)(oBC818tmp_string)),'E'); _state=10; } else if((95==z2)){ _state=7; } else{_state=12; }} } else if((7==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=8; } else{r818fcp(C,((T0*)ms139_818)); }} } else if((8==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=9; } else{r818fcp(C,((T0*)ms139_818)); }} } else if((9==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=6; } else{r818fcp(C,((T0*)ms139_818)); }} } else if((10==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((43==z2)){ _state=11; } else if((45==z2)){ r7extend(((T7*)(oBC818tmp_string)),'\55'); _state=11; } else if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); _state=11; } else{r818fcp(C,((T0*)ms29_818)); _state=13; }} } else{{int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else{_state=12; }} }} } /*IF*/if ((_state)==(12)) { {T936*n=malloc(sizeof(*n)); *n=M936; r936make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string)))); C->_last_real_constant=(T0*)n; } R=1; r818skip_comments(C); } else { r818go_back_at(C,_l,_c); } /*FI*/} /*FI*/return R; } void r818a_redefine_list(T818* C){ /*IF*/if (r818a_feature_list(C)) { r877set_redefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/); } /*FI*/} /*No:EIFFEL_PARSER.fz_undefine*/ void r818a_local_var_list(T818* C,T0* a1){ int _state=0; int _rank=0; T0* _list=NULL; T0* _declaration=NULL; T0* _name_list=NULL; T0* _name=NULL; while (!((_state)>(4))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_local_name1(((T511*)(oBC818tmp_name))); _state=1; /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) { _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*12*/); /*IF*/if ((_rank)>(0)) { r683add_position((((T39*)((T39*)_name)))->_start_position/*16*/); r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*16*/); r683error(((T683*)(oBC364eh)),((T0*)ms16_818)); } /*FI*/} /*FI*/} else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms151_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73')); } else { _state=5; } /*FI*/} else if((1==z1)){ /*IF*/if (r818skip1(C,'\72')) { /*IF*/if ((_name_list)!=((void*)(NULL))) { r733add_last(((T733*)_name_list),_name); _name=NULL; } /*FI*/_state=3; } else { /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms17_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } else { C->_ok=r818skip1(C,'\54'); } /*FI*//*IF*/if ((_name_list)==((void*)(NULL))) { _name_list=se_ma733(1,_name); } else { r733add_last(((T733*)_name_list),_name); } /*FI*/_name=NULL; _state=2; } /*FI*/} else if((2==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_local_name1(((T511*)(oBC818tmp_name))); _state=1; /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) { _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*12*/); /*IF*/if ((_rank)>(0)) { r683add_position((((T39*)((T39*)_name)))->_start_position/*16*/); r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*16*/); r683error(((T683*)(oBC364eh)),((T0*)ms18_818)); } /*FI*/} /*FI*/} else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms151_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73')); } else { _state=6; } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_type(C)) { /*IF*/if ((_name_list)!=((void*)(NULL))) { {T64*n=malloc(sizeof(*n)); *n=M64; r64make(n,_name_list,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name_list=NULL; } else { {T723*n=malloc(sizeof(*n)); *n=M723; r723make(n,_name,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name=NULL; } /*FI*//*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma382(1,_declaration); } else { r382add_last(((T382*)_list),_declaration); } /*FI*/_state=4; } else { _state=6; } /*FI*/} else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms19_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); _state=0; } else { C->_ok=r818skip1(C,'\73'); _state=0; } /*FI*/}} } /*IF*/if ((_state)==(6)) { r818fcp(C,((T0*)ms20_818)); } else if ((_list)!=((void*)(NULL))) { {T620*n=malloc(sizeof(*n)); *n=M620; r620make(n,a1,_list); C->_local_vars=(T0*)n; } /*[IRF3.3set_local_vars*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_local_vars)=((((T818*)C))->_local_vars/*49*/); /*]*/ } /*FI*/} /*No:EIFFEL_PARSER.fz_59*/ /*No:EIFFEL_PARSER.fz_desc*/ void r818a_rename_list(T818* C){ while (!(!(r818a_rename_pair(C)))) { C->_ok=r818skip1(C,'\54'); } } int r818a_argument(T818* C){ int R=0; int _rank=0; /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) { _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),r511to_string(((T511*)(oBC818tmp_name)))); /*IF*/if ((_rank)>(0)) { C->_last_expression=r511to_argument_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_arguments/*45*/,_rank); R=1; } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_local*/ /*No:EIFFEL_PARSER.formal_generic_list*/ T0* r818to_call(T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if ((a2)==((void*)(NULL))) { R=a1; } else if ((a3)==((void*)(NULL))) { {T487*n=malloc(sizeof(*n)); *n=M487; r487make(n,a1,a2); R=(T0*)n; } } else if ((X431count(a3))==(1)) { {T492*n=malloc(sizeof(*n)); *n=M492; r492make(n,a1,a2,a3); R=(T0*)n; } } else { {T915*n=malloc(sizeof(*n)); *n=M915; r915make(n,a1,a2,a3); R=(T0*)n; } } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_require*/ /*No:EIFFEL_PARSER.fz_then*/ /*No:EIFFEL_PARSER.fz_when*/ /*No:EIFFEL_PARSER.set_drop_comments*/ /*No:EIFFEL_PARSER.fz_error_stars*/ void r818a_undefine_list(T818* C){ /*IF*/if (r818a_feature_list(C)) { r877set_undefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/); } /*FI*/} /*No:EIFFEL_PARSER.current_line*/ /*No:EIFFEL_PARSER.fatal_error*/ /*No:EIFFEL_PARSER.us_native_array*/ void r818a_after_a_dot(T818* C,int a1,T0* a2){ T0* _eal=NULL; T0* _sfn=NULL; /*IF*/if (r818a_identifier(C)) { /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); r683error(((T683*)(oBC364eh)),((T0*)ms33_818)); } /*FI*/_sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _eal=r818a_actuals(C); r818a_r10(C,a1,a2,_sfn,_eal); } else { r818fcp(C,((T0*)ms34_818)); } /*FI*/} int r818a_constant(T818* C){ int R=0; T0* _sfn=NULL; T0* _e_current=NULL; /*IF*/if (r818a_identifier(C)) { R=1; _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0); _e_current=(T0*)n; } {T487*n=malloc(sizeof(*n)); *n=M487; r487make(n,_e_current,_sfn); C->_last_expression=(T0*)n; } } else if (r818a_character_constant(C)) { R=1; C->_last_expression=(((T818*)C))->_last_character_constant/*85*/; } else if (r818a_integer_constant(C)) { R=1; C->_last_expression=(((T818*)C))->_last_integer_constant/*129*/; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_bit_constant*/ /*No:EIFFEL_PARSER.fz_check*/ T0* r818a_routine_body(T818* C){ T0* R=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); R=r505to_deferred_routine(((T505*)(oBC818tmp_feature))); } else if (r818a_keyword(C,((T0*)ms16_470))) { R=r818a_external(C); } else if (r818a_keyword(C,((T0*)ms9_470))) { /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms116_818))); /*]*/ R=r505to_procedure_or_function(((T505*)(oBC818tmp_feature))); } else if (r818a_keyword(C,((T0*)ms35_470))) { /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms117_818))); /*]*/ R=r505to_once_routine(((T505*)(oBC818tmp_feature))); } else { r818fcp(C,((T0*)ms118_818)); } /*FI*/return R; } int r818a_type(T818* C){ int R=0; T0* _argument_name2=NULL; T0* _sp=NULL; R=1; /*IF*/if (r818a_keyword(C,((T0*)ms30_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_identifier(C)) { /*IF*/if (r818a_current(C)) { {T958*n=malloc(sizeof(*n)); *n=M958; r958make(n,_sp,(((T818*)C))->_last_expression/*97*/); C->_last_type=(T0*)n; } } else if (r818a_argument(C)) { _argument_name2=(((T818*)C))->_last_expression/*97*/; if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) { case 886: break; default: _argument_name2=NULL; };{T239*n=malloc(sizeof(*n)); *n=M239; r239make(n,_sp,_argument_name2); C->_last_type=(T0*)n; } } else { {T648*n=malloc(sizeof(*n)); *n=M648; r648make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); C->_last_type=(T0*)n; } } /*FI*/} else { r818fcp(C,((T0*)ms129_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms14_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_class_type(C)) { {T523*n=malloc(sizeof(*n)); *n=M523; r523make(n,_sp,(((T818*)C))->_last_class_type/*93*/); C->_last_type=(T0*)n; } } else { r818fcp(C,((T0*)ms130_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms3_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_integer(C)) { {T549*n=malloc(sizeof(*n)); *n=M549; r549make(n,_sp,(((T818*)C))->_last_integer_constant/*129*/); C->_last_type=(T0*)n; } } else if (r818a_identifier(C)) { {T558*n=malloc(sizeof(*n)); *n=M558; r558make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); C->_last_type=(T0*)n; } } else { r818fcp(C,((T0*)ms131_818)); } /*FI*/} else if (r818a_type_formal_generic(C)) { C->_last_type=(((T818*)C))->_last_type_formal_generic/*117*/; } else if (r818a_class_type(C)) { C->_last_type=(((T818*)C))->_last_class_type/*93*/; } else { R=0; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_manifest_constant*/ int r818a_inspect(T818* C){ int R=0; T0* _ec=NULL; T0* _i=NULL; T0* _spec=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms25_470))) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_expression(C)) { C->_last_expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); } else { r818fcp(C,((T0*)ms99_818)); } /*FI*/{T270*n=malloc(sizeof(*n)); *n=M270; r270make(n,_sp,(((T818*)C))->_last_expression/*97*/); _i=(T0*)n; } while (!(!(r818a_when_part(C,_i)))) { } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _spec=(T0*)n; } _ec=r818a_compound2(C,((T0*)ms100_818),((T0*)ms12_470)); r270set_else_compound(((T270*)_i),_spec,_ec); } else if (!(r818a_keyword(C,((T0*)ms12_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms101_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_last_instruction=_i; } /*FI*/return R; } int r818a_assignment_or_call(T818* C){ int R=0; /*IF*/if ((r818skip1(C,'\50'))&&(r818a_expression(C))) { R=1; /*IF*/if (r818skip1(C,'\51')) { r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818fcp(C,((T0*)ms35_818)); } /*FI*/} else if (r818a_identifier(C)) { R=1; /*IF*/if (r818skip2(C,'\72','\75')) { r818a_assignment_aux(C,1); } else if (r818skip2(C,'\77','\75')) { r818a_assignment_aux(C,0); } else if ((((r818a_current(C))||(r818a_result(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) { r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818a_procedure_call(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.last_feature_list*/ T0* r818get_comments(T818* C){ T0* R=NULL; R=(((T818*)C))->_last_comments/*25*/; C->_last_comments=NULL; return R; } void r818warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:EIFFEL_PARSER.fz_retry*/ /*No:EIFFEL_PARSER.fz_inherit*/ /*No:EIFFEL_PARSER.fz_select*/ int r818a_creation(T818* C){ int R=0; int _state=0; T0* _call=NULL; T0* _proc_name=NULL; T0* _writable=NULL; T0* _type=NULL; T0* _sp=NULL; while (!((_state)>(6))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\41')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=7; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_type(C)) { _type=(((T818*)C))->_last_type/*157*/; /*IF*/if (X291is_anchored(_type)) { r818warning(X291start_position(_type),((T0*)ms62_818)); } /*FI*/_state=2; } else if (r818skip1(C,'\41')) { _state=3; } else { r818fcp(C,((T0*)ms63_818)); _state=8; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\41')) { _state=3; } else { _state=8; r818fcp(C,((T0*)ms64_818)); } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_identifier(C)) { /*IF*/if (r818a_current(C)) { _state=8; r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms65_818)); } else if (r818a_argument(C)) { _state=8; r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms66_818)); } else if ((r818a_result(C))||(r818a_local_variable(C))) { _writable=(((T818*)C))->_last_expression/*97*/; _state=4; } else { _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _state=4; } /*FI*/} else { _state=8; r818fcp(C,((T0*)ms67_818)); } /*FI*/} else if((4==z1)){ /*IF*/if (r818skip1unless2(C,'\56','\56')) { _state=5; } else { _state=7; } /*FI*/} else if((5==z1)){ /*IF*/if (r818a_identifier(C)) { _proc_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _state=6; } else { _state=8; r818fcp(C,((T0*)ms68_818)); } /*FI*/} else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { _call=r818to_proc_call(C,_writable,_proc_name,r818a_actuals(C)); } else { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,_writable,_proc_name); _call=(T0*)n; } } /*FI*/_state=7; }} } /*IF*/if (((_state)==(7))&&((_sp)!=((void*)(NULL)))) { R=1; /*IF*/if (((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))) { {T362*n=malloc(sizeof(*n)); *n=M362; r362make(n,_sp,_writable); C->_last_instruction=(T0*)n; } } else if (((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))) { {T376*n=malloc(sizeof(*n)); *n=M376; r376make(n,_sp,_type,_writable); C->_last_instruction=(T0*)n; } } else if (((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))) { {T390*n=malloc(sizeof(*n)); *n=M390; r390make(n,_sp,_writable,_call); C->_last_instruction=(T0*)n; } } else { {T404*n=malloc(sizeof(*n)); *n=M404; r404make(n,_sp,_type,_writable,_call); C->_last_instruction=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_old*/ T0* r818a_routine(T818* C){ T0* R=NULL; T0* _ea=NULL; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) { /*IF*/if (r818a_manifest_string(C)) { /*[IRF3.3set_obsolete_mark*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_obsolete_mark)=((((T818*)C))->_last_manifest_string/*145*/); /*]*/ } else { r818fcp(C,((T0*)ms114_818)); } /*FI*/} /*FI*//*[IRF3.3set_header_comment*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_header_comment)=(r818get_comments(C)); /*]*/ /*IF*/if (r818a_keyword(C,((T0*)ms40_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { _hc=r818get_comments(C); r505set_require_else(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C)); } else { _hc=r818get_comments(C); r505set_require(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C)); } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms31_470))) { r818a_local_var_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); } /*FI*/R=r818a_routine_body(C); /*IF*/if (r818a_keyword(C,((T0*)ms13_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } C->_in_ensure=1; /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633make(n,_sp,_hc,_al); _ea=(T0*)n; } /*[IRF3.3set_ensure_then*/((((T633*)(((T633*)_ea))))->_is_ensure_then)=(1); /*]*/ } /*FI*/X368set_ensure_assertion(R,_ea); } else { _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633make(n,_sp,_hc,_al); _ea=(T0*)n; } } /*FI*/X368set_ensure_assertion(R,_ea); } /*FI*/C->_in_ensure=0; } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms41_470))) { C->_in_rescue=1; X368set_rescue_compound(R,r818a_compound2(C,((T0*)ms41_470),((T0*)ms12_470))); C->_in_rescue=0; } else { /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms115_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/C->_local_vars=NULL; return R; } T0*oBC818tmp_name=NULL; void r818a_then_part_list(T818* C,T0* a1){ /*IF*/if (!(r818a_then_part(C,a1))) { r818fcp(C,((T0*)ms125_818)); } /*FI*/while (!(!(r818a_keyword(C,((T0*)ms11_470))))) { /*IF*/if (!(r818a_then_part(C,a1))) { r818fcp(C,((T0*)ms126_818)); } /*FI*/} } /*No:EIFFEL_PARSER.us_none*/ void r818a_assignment_aux(T818* C,int a1){ T0* _rhs=NULL; T0* _writable=NULL; /*IF*/if (r818a_current(C)) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms36_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (r818a_void(C)) { r683add_position(r511start_position(((T511*)(oBC818tmp_name)))); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms37_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (r818a_argument(C)) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms38_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { /*IF*/if (r511is_result()) { /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) { r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818)); } /*FI*/_writable=r511to_e_result(((T511*)(oBC818tmp_name))); } else if (r818a_local_variable(C)) { _writable=(((T818*)C))->_last_expression/*97*/; } else { _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); } /*FI*//*IF*/if (r818a_expression(C)) { _rhs=(((T818*)C))->_last_expression/*97*/; /*IF*/if (a1) { {T629*n=malloc(sizeof(*n)); *n=M629; r629make(n,_writable,_rhs); C->_last_instruction=(T0*)n; } } else { {T126*n=malloc(sizeof(*n)); *n=M126; r126make(n,_writable,_rhs); C->_last_instruction=(T0*)n; } } /*FI*/} else { r818fcp(C,((T0*)ms39_818)); } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.case_insensitive*/ /*No:EIFFEL_PARSER.fz_deferred*/ int r818a_identifier(T818* C){ int R=0; /*IF*/if ((((T818*)C))->_case_insensitive/*0*/) { R=r818a_identifier1(C); } else { R=r818a_identifier2(C); } /*FI*/return R; } int r818a_expression(T818* C){ int R=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818skip2(C,'\74','\74')) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!(!(r818a_expression(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma96(1,(((T818*)C))->_last_expression/*97*/); } else { X96add_last(_list,(((T818*)C))->_last_expression/*97*/); } /*FI*/C->_ok=r818skip1(C,'\54'); } /*IF*/if (!(r818skip2(C,'\76','\76'))) { r818fcp(C,((T0*)ms72_818)); } /*FI*/{T436*n=malloc(sizeof(*n)); *n=M436; r436make(n,_sp,_list); C->_last_expression=(T0*)n; } } else { R=r818a_e0(C); } /*FI*/return R; } void r818a_formal_arg_list(T818* C){ int _state=0; T0* _list=NULL; T0* _declaration=NULL; T0* _name_list=NULL; T0* _name=NULL; T0* _sp=NULL; C->_arguments=NULL; while (!((_state)>(5))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\50')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=6; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_argument_name1(((T511*)(oBC818tmp_name))); _state=2; } else if (r818skip1(C,'\51')) { _state=6; } else { _state=7; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\72')) { /*IF*/if ((_name_list)!=((void*)(NULL))) { r65add_last(((T65*)_name_list),_name); _name=NULL; } /*FI*/_state=4; } else { C->_ok=r818skip1(C,'\54'); /*IF*/if ((_name_list)==((void*)(NULL))) { _name_list=se_ma65(1,_name); } else { r65add_last(((T65*)_name_list),_name); } /*FI*/_name=NULL; _state=3; } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_argument_name1(((T511*)(oBC818tmp_name))); _state=2; } else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms151_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73')); } else { _state=7; } /*FI*/} else if((4==z1)){ /*IF*/if (r818a_type(C)) { /*IF*/if ((_name_list)!=((void*)(NULL))) { {T64*n=malloc(sizeof(*n)); *n=M64; r64make(n,_name_list,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name_list=NULL; } else { {T723*n=malloc(sizeof(*n)); *n=M723; r723make(n,_name,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name=NULL; } /*FI*//*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma382(1,_declaration); } else { r382add_last(((T382*)_list),_declaration); } /*FI*/_declaration=NULL; _state=5; } else { _state=7; } /*FI*/} else{/*IF*/if (r818skip1(C,'\51')) { _state=6; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms13_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); _state=1; } else { C->_ok=r818skip1(C,'\73'); _state=1; } /*FI*/}} } /*IF*/if ((_state)==(7)) { r818fcp(C,((T0*)ms14_818)); } else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) { r818warning(_sp,((T0*)ms15_818)); } else if ((_sp)!=((void*)(NULL))) { {T31*n=malloc(sizeof(*n)); *n=M31; r31make(n,_sp,_list); C->_arguments=(T0*)n; } /*[IRF3.3set_arguments*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_arguments)=((((T818*)C))->_arguments/*45*/); /*]*/ } /*FI*/} /*No:EIFFEL_PARSER.fz_end*/ /*No:EIFFEL_PARSER.fz_else*/ /*No:EIFFEL_PARSER.last_class_name*/ int r818a_type_formal_generic(T818* C){ int R=0; int _rank=0; T0* _cn=NULL; T0* _fga=NULL; /*IF*/if (((((T818*)C))->_formal_generic_list/*33*/)!=((void*)(NULL))) { _rank=1; while (!((R)||((_rank)>(/*(IRF4.6count*/(((T681*)((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/))))->_upper/*8*//*)*/)))) { _fga=/*(IRF4.6item*/r681item(((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/)),_rank)/*)*/; /*IF*/if (r818a_keyword(C,(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_to_string/*0*/)) { {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_to_string/*0*/,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); _cn=(T0*)n; } {T283*n=malloc(sizeof(*n)); *n=M283; r283make(n,_cn,_rank); C->_last_type_formal_generic=(T0*)n; } R=1; } /*FI*/_rank=(_rank)+(1); } } /*FI*/return R; } /*No:EIFFEL_PARSER.last_infix*/ int r818a_feature_name(T818* C){ int R=0; /*IF*/if (r818a_prefix(C)) { C->_last_feature_name=(((T818*)C))->_last_prefix/*125*/; R=1; } else if (r818a_infix(C)) { C->_last_feature_name=(((T818*)C))->_last_infix/*121*/; R=1; } else if (r818a_identifier(C)) { C->_last_feature_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_and*/ void r818a_feature_clause(T818* C){ T0* _comment=NULL; T0* _clients=NULL; T0* _feature_clause=NULL; _clients=r818a_clients(C); _comment=r818get_comments(C); /*[IRF3.3clear*/((((T352*)(((T352*)(oBC818faof)))))->_upper)=(-(1)); /*]*/ while (!(!(r818a_feature_declaration(C)))) { C->_ok=r818skip1(C,'\73'); /*IF*/if (((((T818*)C))->_last_feature_declaration/*101*/)!=((void*)(NULL))) { r352add_last(((T352*)(oBC818faof)),(((T818*)C))->_last_feature_declaration/*101*/); X359set_header_comment((((T818*)C))->_last_feature_declaration/*101*/,r818get_comments(C)); } /*FI*/} /*IF*/if (((((T352*)((T352*)(oBC818faof))))->_upper/*8*/)>=(0)) { {T153*n=malloc(sizeof(*n)); *n=M153; r153make(n,_clients,_comment,r352twin(((T352*)(oBC818faof)))); _feature_clause=(T0*)n; } r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause); } else if ((_comment)!=((void*)(NULL))) { {T153*n=malloc(sizeof(*n)); *n=M153; r153make(n,_clients,_comment,NULL); _feature_clause=(T0*)n; } r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause); } /*FI*/C->_last_keyword=NULL; } /*No:EIFFEL_PARSER.in_rescue*/ /*No:EIFFEL_PARSER.us_and_then*/ int r818a_manifest_constant(T818* C){ int R=0; /*IF*/if (r818a_boolean_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_boolean_constant/*81*/; R=1; } else if (r818a_character_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_character_constant/*85*/; R=1; } else if (r818a_manifest_string(C)) { C->_last_manifest_constant=(((T818*)C))->_last_manifest_string/*145*/; R=1; } else if (r818a_bit_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_bit_constant/*77*/; R=1; } else if (r818a_real_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_real_constant/*153*/; R=1; } else if (r818a_integer_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_integer_constant/*129*/; R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_instruction*/ int r818a_bit_constant(T818* C){ int R=0; int _state=0; int _c=0; int _l=0; /*IF*/if ((((((T818*)C))->_cc/*24*/)==('0'))||(((((T818*)C))->_cc/*24*/)==('1'))) { _l=(((T818*)C))->_line/*16*/; _c=(((T818*)C))->_column/*12*/; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=49))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else if((66==z1)||(98==z1)){ {T940*n=malloc(sizeof(*n)); *n=M940; r940make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string)))); C->_last_bit_constant=(T0*)n; } r818next_char(C); r818skip_comments(C); _state=1; R=1; } else{r818go_back_at(C,_l,_c); _state=2; }} } } /*FI*/return R; } T0*oBC818faof=NULL; /*No:EIFFEL_PARSER.fz_jvm_invokestatic*/ int r818a_index_clause(T818* C){ int R=0; T0* _index_clause=NULL; /*IF*/if (r818a_identifier(C)) { R=1; /*IF*/if (r818skip1(C,'\72')) { {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(r511to_string(((T511*)(oBC818tmp_name)))); /*]*/ _index_clause=(T0*)n; } /*IF*/if (r818a_index_value(C)) { r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/); } else { r818fcp(C,((T0*)ms141_818)); } /*FI*/} else { {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL); /*]*/ _index_clause=(T0*)n; } r782add_index_value(((T782*)_index_clause),r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); } /*FI*/} else if (r818a_manifest_constant(C)) { R=1; {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL); /*]*/ _index_clause=(T0*)n; } r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_manifest_constant/*141*/); } /*FI*//*IF*/if (R) { while (!(!(r818skip1(C,'\54')))) { /*IF*/if (r818a_index_value(C)) { r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/); } else { r818fcp(C,((T0*)ms141_818)); } /*FI*/} r605add_index_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_index_clause); } /*FI*/return R; } /*No:EIFFEL_PARSER.line*/ /*No:EIFFEL_PARSER.make*/ /*No:EIFFEL_PARSER.last_index_value*/ /*No:EIFFEL_PARSER.show_nb_warnings*/ /*No:EIFFEL_PARSER.fz_rescue*/ int r818a_infix(T818* C){ int R=0; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms23_470))) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { r818next_char(C); } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms96_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (r818a_binary(C,_sp)) { C->_last_infix=(((T818*)C))->_last_binary/*73*/; } else if (r818a_free_operator(C)) { C->_last_infix=r511to_infix_name(_sp); } else { r818fcp(C,((T0*)ms97_818)); } /*FI*//*IF*/if (!(r818skip1(C,'\42'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms98_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/return R; } T0* r818a_actuals(T818* C){ T0* R=NULL; T0* _args=NULL; /*IF*/if (r818skip1(C,'\50')) { while (!(!(r818a_actual(C)))) { /*IF*/if ((_args)==((void*)(NULL))) { _args=se_ma96(1,(((T818*)C))->_last_expression/*97*/); } else { X96add_last(_args,(((T818*)C))->_last_expression/*97*/); } /*FI*//*IF*/if ((!(r818skip1(C,'\54')))&&(((((T818*)C))->_cc/*24*/)!=('\51'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms143_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*IF*/if ((_args)==((void*)(NULL))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms31_818); r818warning(r818current_position(C1),b1); }/*]*/ } else { {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(_args); /*]*/ R=(T0*)n; } } /*FI*//*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms32_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_pointer*/ /*No:EIFFEL_PARSER.fz_iinaiv*/ int r818a_actual(T818* C){ int R=0; /*IF*/if (r818skip1(C,'\44')) { /*IF*/if (r818a_identifier(C)) { /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms155_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { {T708*n=malloc(sizeof(*n)); *n=M708; /*[IRF3.3make*/((((T708*)(n)))->_feature_name)=(r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); /*]*/ C->_last_expression=(T0*)n; } R=1; } /*FI*/} else { r818fcp(C,((T0*)ms155_818)); } /*FI*/} else if (r818a_expression(C)) { R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_string*/ /*No:EIFFEL_PARSER.local_vars*/ void r818a_base_class_name1(T818* C){ T0* _ccn=NULL; int _do_warning=0; int _state=0; _ccn=(((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_base_class_name/*24*/; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r627set_line_column(((T627*)((((T451*)((T451*)_ccn)))->_start_position/*4*/)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) { _do_warning=1; C->_cc=r3to_upper((((T818*)C))->_cc/*24*/); } /*FI*//*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((97<=z1)&&(z1<=122))){ _do_warning=1; /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } r818skip_comments(C); /*IF*/if (r511isa_keyword()) { r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms154_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (_do_warning) { r818warning((((T451*)((T451*)_ccn)))->_start_position/*4*/,((T0*)ms153_818)); } /*FI*/r451identify(((T451*)_ccn),r511to_string(((T511*)(oBC818tmp_name)))); } else { r818fcp(C,((T0*)ms154_818)); } /*FI*//*IF*/if (r52fast_has(((T52*)(oBC818forbidden_class)),(((T451*)((T451*)_ccn)))->_to_string/*0*/)) { r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms25_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} int r818a_strip(T818* C){ int R=0; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms45_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818skip1(C,'\50')) { C->_ok=r818a_feature_list(C); {T420*n=malloc(sizeof(*n)); *n=M420; r420make(n,_sp,(((T818*)C))->_last_feature_list/*105*/); C->_last_expression=(T0*)n; } /*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms123_818)); } /*FI*/R=1; } else { r818fcp(C,((T0*)ms124_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_external*/ T0* r818a_compound1(T818* C,T0* a1){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=r818get_comments(C); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _instruction=(((T818*)C))->_last_instruction/*133*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_ok=r818skip1(C,'\73'); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C))); } else { r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,_hc,_list); R=(T0*)n; } } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_prefix*/ /*No:EIFFEL_PARSER.fz_all*/ /*No:EIFFEL_PARSER.column*/ int r818a_loop(T818* C){ int R=0; T0* _al=NULL; T0* _hc=NULL; T0* _lb=NULL; T0* _ue=NULL; T0* _vc=NULL; T0* _ic=NULL; T0* _i=NULL; T0* _e_loop=NULL; int _c2=0; int _l2=0; int _c1=0; int _l1=0; /*IF*/if (r818a_keyword(C,((T0*)ms19_470))) { R=1; _l1=(((T818*)C))->_start_line/*169*/; _c1=(((T818*)C))->_start_column/*165*/; _i=r818a_compound1(C,((T0*)ms102_818)); /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) { _l2=(((T818*)C))->_start_line/*169*/; _c2=(((T818*)C))->_start_column/*165*/; _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T213*n=malloc(sizeof(*n)); *n=M213; r213make(n,r818pos(_l2,_c2),_hc,_al); _ic=(T0*)n; } } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms51_470))) { /*IF*/if ((r818a_tag_mark(C))&&(r818a_expression(C))) { {T158*n=malloc(sizeof(*n)); *n=M158; r158make(n,(((T818*)C))->_last_tag_mark/*161*/,(((T818*)C))->_last_expression/*97*/,r818get_comments(C)); _vc=(T0*)n; } } else if (r818a_expression(C)) { {T145*n=malloc(sizeof(*n)); *n=M145; r145make(n,(((T818*)C))->_last_expression/*97*/,r818get_comments(C)); _vc=(T0*)n; } } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms103_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms50_470))) { /*IF*/if (r818a_expression(C)) { _ue=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); } else { r818fcp(C,((T0*)ms104_818)); _ue=(((T818*)C))->_last_expression/*97*/; } /*FI*/} else { r818fcp(C,((T0*)ms105_818)); _ue=(((T818*)C))->_last_expression/*97*/; } /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms32_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms106_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/_lb=r818a_compound2(C,((T0*)ms107_818),((T0*)ms12_470)); {T880*n=malloc(sizeof(*n)); *n=M880; r880make(n,r818pos(_l1,_c1),_i,_ic,_vc,_ue,_lb); _e_loop=(T0*)n; } C->_last_instruction=_e_loop; } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_feature*/ /*No:EIFFEL_PARSER.fz_true*/ int r818a_local_variable(T818* C){ int R=0; int _rank=0; /*IF*/if (((((T818*)C))->_local_vars/*49*/)!=((void*)(NULL))) { _rank=r620rank_of(((T620*)((((T818*)C))->_local_vars/*49*/)),r511to_string(((T511*)(oBC818tmp_name)))); /*IF*/if ((_rank)>(0)) { C->_last_expression=r511to_local_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_local_vars/*49*/,_rank); R=1; } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.start_column*/ /*No:EIFFEL_PARSER.us_ge*/ /*No:EIFFEL_PARSER.us_neq*/ int r818skip1unless2(T818* C,char a1,char a2){ int R=0; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==(a1)) { r818next_char(C); /*IF*/if (((((T818*)C))->_cc/*24*/)==(a2)) { r818prev_char(C); } else { R=1; r818skip_comments(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_if*/ T0* r818a_compound2(T818* C,T0* a1,T0* a2){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=r818get_comments(C); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _instruction=(((T818*)C))->_last_instruction/*133*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_ok=r818skip1(C,'\73'); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C))); } else { r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if (!(r818a_keyword(C,a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms57_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms58_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r818fcp(C,((T0*)ms59_818)); } /*FI*//*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,_hc,_list); R=(T0*)n; } } /*FI*/return R; } int r818a_rename_pair(T818* C){ int R=0; T0* _rename_pair=NULL; T0* _name1=NULL; /*IF*/if (r818a_feature_name(C)) { _name1=(((T818*)C))->_last_feature_name/*109*/; /*IF*/if (r818a_keyword(C,((T0*)ms3_470))) { /*IF*/if (r818a_feature_name(C)) { R=1; {T498*n=malloc(sizeof(*n)); *n=M498; r498make(n,_name1,(((T818*)C))->_last_feature_name/*109*/); _rename_pair=(T0*)n; } r877add_rename(((T877*)((((T818*)C))->_last_parent/*149*/)),_rename_pair); } else { r818fcp(C,((T0*)ms113_818)); } /*FI*/} else { /*[IRF3.6go_back*/{T818* C1=C; T0* b1=X776start_position(_name1); r818go_back_at(C1,/*(IRF4.6line*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)%(1000)/*)*/); }/*]*/ } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_slash*/ /*No:EIFFEL_PARSER.fz_alias*/ /*No:EIFFEL_PARSER.fz_debug*/ int r818a_keyword(T818* C,T0* a1){ int R=0; int _keyword_count=0; int _i=0; _keyword_count=(((T7*)((T7*)a1)))->_count/*4*/; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; while (!(((_i)==(_keyword_count))||(!(r3same_as((((T818*)C))->_cc/*24*/,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) { _i=(_i)+(1); r818next_char(C); } /*IF*/if ((_i)==(_keyword_count)) { {int z1=(((T818*)C))->_cc/*24*/; if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){ R=1; C->_last_keyword=a1; r818skip_comments(C); } else if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){ while (!((_i)==(0))) { r818prev_char(C); _i=(_i)-(1); } } else{R=1; C->_last_keyword=a1; }} } else { while (!((_i)==(0))) { r818prev_char(C); _i=(_i)-(1); } } /*FI*/return R; } /*No:EIFFEL_PARSER.us_character*/ /*No:EIFFEL_PARSER.us_le*/ /*No:EIFFEL_PARSER.fz_from*/ /*No:EIFFEL_PARSER.last_keyword*/ /*No:EIFFEL_PARSER.fz_unique*/ /*No:EIFFEL_PARSER.fz_loop*/ /*No:EIFFEL_PARSER.em1*/ /*No:EIFFEL_PARSER.fz_do*/ int r818a_unary(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms40_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } else if (r818skip1(C,'\53')) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms43_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } else if (r818skip1(C,'\55')) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms37_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.em2*/ /*No:EIFFEL_PARSER.last_feature_declaration*/ /*No:EIFFEL_PARSER.em3*/ /*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/ /*No:EIFFEL_PARSER.fz_obsolete*/ /*No:EIFFEL_PARSER.em4*/ /*No:EIFFEL_PARSER.fz_se*/ void r818go_back_at(T818* C,int a1,int a2){ C->_line=a1; C->_column=a2; C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T818*)C))->_column/*12*/)==(((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1))) { C->_cc='\n'; } else if (((((T818*)C))->_column/*12*/)==(0)) { C->_cc='\0'; } else { C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/; } /*FI*/} void r818a_ascii_code(T818* C){ int _counter=0; r818next_char(C); _counter=0; C->_last_ascii_code=0; while (!(((_counter)>(3))||(((((T818*)C))->_cc/*24*/)==('\57')))) { {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))){ C->_last_ascii_code=(((((T818*)C))->_last_ascii_code/*61*/)*(10))+(r3value((((T818*)C))->_cc/*24*/)); } else{r818fcp(C,((T0*)ms21_818)); }} _counter=(_counter)+(1); r818next_char(C); } /*IF*/if ((_counter)==(0)) { r818fcp(C,((T0*)ms22_818)); } else if ((_counter)>(3)) { r818fcp(C,((T0*)ms23_818)); } else { } /*FI*/} /*No:EIFFEL_PARSER.fz_as*/ /*No:EIFFEL_PARSER.em5*/ /*No:EIFFEL_PARSER.fz_false*/ /*No:EIFFEL_PARSER.us_bit*/ /*No:EIFFEL_PARSER.em6*/ int r818end_of_input(T818* C){ int R=0; R=((((T818*)C))->_cc/*24*/)==('\0'); return R; } int r818a_current(T818* C){ int R=0; /*IF*/if (r511is_current()) { C->_last_expression=r511to_e_current(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } void r818a_parent_list(T818* C,T0* a1,T0* a2){ T0* _list=NULL; while (!(!(r818a_parent(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma26(1,(((T818*)C))->_last_parent/*149*/); } else { r26add_last(((T26*)_list),(((T818*)C))->_last_parent/*149*/); } /*FI*/C->_ok=r818skip1(C,'\73'); /*[IRF3.3set_comment*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_comment)=(r818get_comments(C)); /*]*/ } /*IF*/if (((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { /*IF*/if ((_list)==((void*)(NULL))) { /*IF*/if (((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)==((void*)(NULL))) { /*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(a2); /*]*/ } else { r393append(((T393*)((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)),a2); } /*FI*/} else { r605set_parent_list(((T605*)((((T818*)C))->_last_base_class/*65*/)),a1,a2,_list); } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.em7*/ /*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/ void r818a_select_list(T818* C){ /*IF*/if (r818a_feature_list(C)) { r877set_select(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/); } /*FI*/} void r818err_exp(T0* a1,T0* a2){ T0* _msg=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,0); _msg=(T0*)n; } r7append(((T7*)_msg),((T0*)ms11_818)); r7append(((T7*)_msg),a2); r7append(((T7*)_msg),((T0*)ms12_818)); r683add_position(a1); /*[IRF3.6fatal_error*/{T0* b1=_msg; r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:EIFFEL_PARSER.em8*/ /*No:EIFFEL_PARSER.last_boolean_constant*/ /*No:EIFFEL_PARSER.em9*/ T0* r818current_position(T818* C){ T0* R=NULL; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); R=(T0*)n; } return R; } /*No:EIFFEL_PARSER.last_tag_mark*/ /*No:EIFFEL_PARSER.us_boolean*/ /*No:EIFFEL_PARSER.last_feature_name*/ /*No:EIFFEL_PARSER.us_eq*/ int r818a_free_operator(T818* C){ int R=0; /*IF*/if ((((((((T818*)C))->_cc/*24*/)==('\100'))||(((((T818*)C))->_cc/*24*/)==('\43')))||(((((T818*)C))->_cc/*24*/)==('\174')))||(((((T818*)C))->_cc/*24*/)==('\46'))) { R=1; r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ r818next_char(C); while (!((((((((T818*)C))->_cc/*24*/)==('\n'))||(((((T818*)C))->_cc/*24*/)==('\40')))||(((((T818*)C))->_cc/*24*/)==('\11')))||(((((T818*)C))->_cc/*24*/)==('\42')))) { /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ r818next_char(C); } r818skip_comments(C); } /*FI*/return R; } /*No:EIFFEL_PARSER.function_type*/ int r818a_then_part(T818* C,T0* a1){ int R=0; T0* _expression=NULL; /*IF*/if (r818a_expression(C)) { R=1; _expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); /*IF*/if (!(r818a_keyword(C,((T0*)ms46_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms127_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/r530add_if_then(((T530*)a1),_expression,r818a_compound1(C,((T0*)ms128_818))); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_xor*/ /*No:EIFFEL_PARSER.last_integer_constant*/ /*No:EIFFEL_PARSER.in_ensure*/ /*No:EIFFEL_PARSER.fz_frozen*/ /*No:EIFFEL_PARSER.ms_numbering*/ T0* r818a_clients(T818* C){ T0* R=NULL; int _state=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818skip1(C,'\173')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_base_class_name(C)) { _list=se_ma901(1,(((T818*)C))->_last_class_name/*89*/); _state=2; } else if (r818skip1(C,'\175')) { _state=4; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_base_class_name(C)) { r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/); _state=2; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else if (((((T818*)C))->_cc/*24*/)==('\175')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms56_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\175'); _state=4; } else { _state=3; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\54')) { _state=1; } else if (r818skip1(C,'\175')) { _state=4; } else if (r818a_base_class_name(C)) { r818warning((((T451*)((T451*)((((T818*)C))->_last_class_name/*89*/))))->_start_position/*4*/,((T0*)ms143_818)); r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/); } else { _state=3; } /*FI*/} else{r818fcp(C,((T0*)ms149_818)); _state=4; }} } {T636*n=malloc(sizeof(*n)); *n=M636; r636make(n,_sp,_list); R=(T0*)n; } } else { {T636*n=malloc(sizeof(*n)); *n=M636; /*[IRF3.1omitted*//*]*/ R=(T0*)n; } } /*FI*/return R; } int r818a_when_part(T818* C,T0* a1){ int R=0; T0* _constant=NULL; T0* _e_when=NULL; int _state=0; /*IF*/if (r818a_keyword(C,((T0*)ms52_470))) { R=1; {T843*n=malloc(sizeof(*n)); *n=M843; r843make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C)); _e_when=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_constant(C)) { _constant=(((T818*)C))->_last_expression/*97*/; _state=1; } else if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if ((_constant)!=((void*)(NULL))) { r843add_value(((T843*)_e_when),_constant); } /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms132_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if ((_constant)!=((void*)(NULL))) { r843add_value(((T843*)_e_when),_constant); } /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms133_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (r818skip2(C,'\56','\56')) { _state=2; } else if (r818skip1(C,'\54')) { r843add_value(((T843*)_e_when),_constant); _constant=NULL; _state=0; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else if((2==z1)){ /*IF*/if (r818a_constant(C)) { r843add_slice(((T843*)_e_when),_constant,(((T818*)C))->_last_expression/*97*/); _constant=NULL; _state=3; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else{/*IF*/if (r818skip1(C,'\54')) { _state=0; } else if (r818a_keyword(C,((T0*)ms46_470))) { /*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms134_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (r818a_constant(C)) { _constant=(((T818*)C))->_last_expression/*97*/; r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms143_818)); _state=1; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/}} } } /*FI*/return R; } int r818a_feature_list(T818* C){ int R=0; int _state=0; C->_last_feature_list=NULL; while (!((_state)>=(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_feature_name(C)) { C->_last_feature_list=se_ma855(1,(((T818*)C))->_last_feature_name/*109*/); R=1; _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) { C->_ok=r818skip1(C,'\54'); _state=2; } else if (r818a_feature_name(C)) { r818warning(X776start_position((((T818*)C))->_last_feature_name/*109*/),((T0*)ms143_818)); r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/); } else { _state=3; } /*FI*/} else {/*IF*/if (r818a_feature_name(C)) { r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/); _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms150_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { /*[IRF3.6ecp*/{T818* C1=C; T0* b1=((T0*)ms140_818); r818error(r818current_position(C1),b1); }/*]*/ _state=3; } /*FI*/}} } return R; } /*No:EIFFEL_PARSER.set_case_insensitive*/ int r818a_instruction(T818* C){ int R=0; R=(((((((r818a_check(C))||(r818a_debug(C)))||(r818a_conditional(C)))||(r818a_retry(C)))||(r818a_inspect(C)))||(r818a_loop(C)))||(r818a_creation(C)))||(r818a_assignment_or_call(C)); return R; } /*No:EIFFEL_PARSER.fz_is*/ /*No:EIFFEL_PARSER.fz_ensure*/ /*No:EIFFEL_PARSER.fz_indexing*/ /*No:EIFFEL_PARSER.us_not*/ int r818a_parent(T818* C){ int R=0; /*IF*/if (r818a_class_type(C)) { R=1; {T877*n=malloc(sizeof(*n)); *n=M877; r877make(n,(((T818*)C))->_last_class_type/*93*/); C->_last_parent=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms39_470))) { r818a_rename_list(C); /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms108_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*/} /*FI*/r818a_new_export_list(C); /*IF*/if (r818a_keyword(C,((T0*)ms48_470))) { r818a_undefine_list(C); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms38_470))) { r818a_redefine_list(C); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms43_470))) { r818a_select_list(C); } /*FI*//*IF*/if (((((r818a_keyword(C,((T0*)ms39_470)))||(r818a_keyword(C,((T0*)ms15_470))))||(r818a_keyword(C,((T0*)ms48_470))))||(r818a_keyword(C,((T0*)ms38_470))))||(r818a_keyword(C,((T0*)ms43_470)))) { r683add_position(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms109_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_ok=r818a_keyword(C,((T0*)ms12_470)); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_muls*/ /*No:EIFFEL_PARSER.last_ascii_code*/ /*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/ int r818a_prefix(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms37_470))) { R=1; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { r818next_char(C); } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms110_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (r818a_unary(C)) { } else if (r818a_free_operator(C)) { C->_last_prefix=r511to_prefix_name(((T511*)(oBC818tmp_name))); } else { r818fcp(C,((T0*)ms111_818)); } /*FI*//*IF*/if (!(r818skip1(C,'\42'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms112_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/return R; } void r818error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:EIFFEL_PARSER.us_gt*/ /*No:EIFFEL_PARSER.fz_until*/ int r818a_e0(T818* C){ int R=0; R=r818a_e1(C); r818a_r1(C,(((T818*)C))->_last_expression/*97*/); return R; } void r818a_class_declaration(T818* C){ T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; r818a_indexing(C); /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms14_470))) { r605set_is_expanded(((T605*)((((T818*)C))->_last_base_class/*65*/))); /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); } /*FI*/} /*FI*//*[IRF3.3set_heading_comment1*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment1)=(r818get_comments(C)); /*]*/ /*IF*/if (!(r818a_keyword(C,((T0*)ms5_470)))) { r818fcp(C,((T0*)ms50_818)); } /*FI*/r818a_base_class_name1(C); r818a_formal_generic_list(C); /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) { /*IF*/if (r818a_manifest_string(C)) { /*[IRF3.3set_obsolete_type_string*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_obsolete_type_string)=((((T818*)C))->_last_manifest_string/*145*/); /*]*/ } else { r818fcp(C,((T0*)ms51_818)); } /*FI*/} /*FI*//*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(r818get_comments(C)); /*]*/ /*IF*/if (r818a_keyword(C,((T0*)ms24_470))) { r818a_parent_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C)); } /*FI*/while (!(!(r818a_keyword(C,((T0*)ms6_470))))) { r818a_creation_clause(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); } while (!(!(r818a_keyword(C,((T0*)ms18_470))))) { r818a_feature_clause(C); } /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _hc=r818get_comments(C); _al=r818a_assertion(C); r605set_invariant(((T605*)((((T818*)C))->_last_base_class/*65*/)),_sp,_hc,_al); } /*FI*//*IF*/if ((r818a_keyword(C,((T0*)ms12_470)))||(((((T818*)C))->_last_keyword/*113*/)==((void*)(((T0*)ms12_470))))) { /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*//*[IRF3.3set_end_comment*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_end_comment)=(r818get_comments(C)); /*]*/ /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\0')) { r818fcp(C,((T0*)ms52_818)); } /*FI*/} else { r818fcp(C,((T0*)ms53_818)); } /*FI*/} int r818skip1(T818* C,char a1){ int R=0; /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) { C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; R=1; r818next_char(C); r818skip_comments(C); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_plus*/ void r818a_r1(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_implies=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms34_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e1(C)) { {T90*n=malloc(sizeof(*n)); *n=M90; r90make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_implies=(T0*)n; } r818a_r1(C,_infix_implies); } else { r818error(_sp,((T0*)ms119_818)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e1(T818* C){ int R=0; R=r818a_e2(C); r818a_r2(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.last_type_formal_generic*/ /*No:EIFFEL_PARSER.em10*/ /*No:EIFFEL_PARSER.em20*/ int r818skip2(T818* C,char a1,char a2){ int R=0; /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) { C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; r818next_char(C); /*IF*/if ((a2)==((((T818*)C))->_cc/*24*/)) { R=1; r818next_char(C); r818skip_comments(C); } else { r818prev_char(C); } /*FI*/} /*FI*/return R; } void r818a_r2(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_xor=NULL; T0* _infix_or=NULL; T0* _infix_or_else=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms41_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { /*IF*/if (r818a_e2(C)) { {T278*n=malloc(sizeof(*n)); *n=M278; r278make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_or_else=(T0*)n; } r818a_r2(C,_infix_or_else); } else { r818err_exp(_sp,((T0*)ms42_473)); } /*FI*/} else { /*IF*/if (r818a_e2(C)) { {T121*n=malloc(sizeof(*n)); *n=M121; r121make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_or=(T0*)n; } r818a_r2(C,_infix_or); } else { r818err_exp(_sp,((T0*)ms41_473)); } /*FI*/} /*FI*/} else if (r818a_keyword(C,((T0*)ms50_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e2(C)) { {T760*n=malloc(sizeof(*n)); *n=M760; r760make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_xor=(T0*)n; } r818a_r2(C,_infix_xor); } else { r818err_exp(_sp,((T0*)ms50_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e2(T818* C){ int R=0; R=r818a_e3(C); r818a_r3(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.em11*/ /*No:EIFFEL_PARSER.fz_expanded*/ void r818a_r3(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_and=NULL; T0* _infix_and_then=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms27_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if (r818a_e3(C)) { {T655*n=malloc(sizeof(*n)); *n=M655; r655make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_and_then=(T0*)n; } r818a_r3(C,_infix_and_then); } else { r818err_exp(_sp,((T0*)ms28_473)); } /*FI*/} else { /*IF*/if (r818a_e3(C)) { {T313*n=malloc(sizeof(*n)); *n=M313; r313make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_and=(T0*)n; } r818a_r3(C,_infix_and); } else { r818err_exp(_sp,((T0*)ms27_473)); } /*FI*/} /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e3(T818* C){ int R=0; R=r818a_e4(C); r818a_r4(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.fz_class*/ /*No:EIFFEL_PARSER.last_base_class*/ /*No:EIFFEL_PARSER.fz_infix*/ /*No:EIFFEL_PARSER.em12*/ T0*oBC818forbidden_class=NULL; /*No:EIFFEL_PARSER.us_lt*/ /*No:EIFFEL_PARSER.us_or*/ void r818a_r4(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_gt=NULL; T0* _infix_ge=NULL; T0* _infix_lt=NULL; T0* _infix_le=NULL; T0* _infix_neq=NULL; T0* _infix_eq=NULL; /*IF*/if (r818skip1(C,'\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T999*n=malloc(sizeof(*n)); *n=M999; r999make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_eq=(T0*)n; } r818a_r4(C,_infix_eq); } else { r818err_exp(_sp,((T0*)ms31_473)); } /*FI*/} else if (r818skip2(C,'\57','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T517*n=malloc(sizeof(*n)); *n=M517; r517make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_neq=(T0*)n; } r818a_r4(C,_infix_neq); } else { r818err_exp(_sp,((T0*)ms39_473)); } /*FI*/} else if (r818skip2(C,'\74','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T932*n=malloc(sizeof(*n)); *n=M932; r932make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_le=(T0*)n; } r818a_r4(C,_infix_le); } else { r818err_exp(_sp,((T0*)ms35_473)); } /*FI*/} else if (r818skip2(C,'\76','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T890*n=malloc(sizeof(*n)); *n=M890; r890make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_ge=(T0*)n; } r818a_r4(C,_infix_ge); } else { r818err_exp(_sp,((T0*)ms32_473)); } /*FI*/} else if (r818skip1(C,'\74')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T112*n=malloc(sizeof(*n)); *n=M112; r112make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_lt=(T0*)n; } r818a_r4(C,_infix_lt); } else { r818err_exp(_sp,((T0*)ms36_473)); } /*FI*/} else if (r818skip1unless2(C,'\76','\76')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T57*n=malloc(sizeof(*n)); *n=M57; r57make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_gt=(T0*)n; } r818a_r4(C,_infix_gt); } else { r818err_exp(_sp,((T0*)ms33_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e4(T818* C){ int R=0; R=r818a_e5(C); r818a_r5(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.us_any*/ /*No:EIFFEL_PARSER.em13*/ /*No:EIFFEL_PARSER.current_class_name*/ /*No:EIFFEL_PARSER.fz_strip*/ T0* r886add_comment(T886* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r886to_integer(T886* C){ int R=0; r886error((((T886*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } int r886is_a(T886* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T886*)C))->_result_type/*24*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T886*)C))->_start_position/*16*/); r886error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:ARGUMENT_NAME2.is_current*/ void r886mapping_c_arg(T886* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type((((T886*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_rt)) { /*IF*/if (X291is_reference(a1)) { r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); } else { X291to_expanded(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { X291to_reference(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); } /*FI*/} /*FI*/} /*No:ARGUMENT_NAME2.static_value*/ void r886mapping_c_target(T886* C,T0* a1){ T0* _rt=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _rt=X291run_type((((T886*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_rt)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='T'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); } else { r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); } /*FI*/} /*FI*//*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:ARGUMENT_NAME2.to_string*/ /*No:ARGUMENT_NAME2.fz_iinaiv*/ /*No:ARGUMENT_NAME2.dca_inline_argument*/ /*No:ARGUMENT_NAME2.set_result_type*/ /*No:ARGUMENT_NAME2.start_position*/ void r886compile_to_c(T886* C){ /*IF*/if (X291is_user_expanded((((T886*)C))->_result_type/*24*/)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/); } /*No:ARGUMENT_NAME2.c_simple*/ T0* r886to_runnable(T886* C,T0* a1){ T0* R=NULL; T0* _rt=NULL; T0* _rf=NULL; _rf=r604top_rf(((T604*)(oBC364small_eiffel))); _rt=r31type(((T31*)(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/))),(((T886*)C))->_rank/*20*/); /*IF*/if (((((T886*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; C->_result_type=_rt; R=(T0*)C; } else { {T886*n=malloc(sizeof(*n)); *n=M886; r886make_runnable(n,(T0*)C,a1,_rt); R=(T0*)n; } } /*FI*/return R; } /*No:ARGUMENT_NAME2.set_rank*/ /*No:ARGUMENT_NAME2.rank*/ /*No:ARGUMENT_NAME2.result_type*/ /*No:ARGUMENT_NAME2.is_result*/ /*No:ARGUMENT_NAME2.is_static*/ /*No:ARGUMENT_NAME2.can_be_dropped*/ /*No:ARGUMENT_NAME2.current_type*/ /*No:ARGUMENT_NAME2.compile_to_c_old*/ /*No:ARGUMENT_NAME2.static_value_mem*/ /*No:ARGUMENT_NAME2.is_manifest_string*/ void r886refer_to(T886* C,T0* a1,T0* a2,int a3){ T0* _declaration_name=NULL; C->_start_position=a1; C->_rank=a3; _declaration_name=/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)a2)))->_flat_list/*12*/)),a3)/*)*/; C->_to_string=(((T873*)((T873*)_declaration_name)))->_to_string/*12*/; C->_result_type=(((T873*)((T873*)_declaration_name)))->_result_type/*24*/; } /*No:ARGUMENT_NAME2.is_void*/ /*No:ARGUMENT_NAME2.is_pre_computable*/ /*No:ARGUMENT_NAME2.use_current*/ void r886error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:ARGUMENT_NAME2.isa_dca_inline_argument*/ /*No:ARGUMENT_NAME2.afd_check*/ void r886make_runnable(T886* C,T0* a1,T0* a2,T0* a3){ *((T886*)(C))=*((T886*)(a1)); C->_current_type=a2; C->_result_type=a3; } T0* r446add_comment(T446* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r446to_integer(T446* C){ int R=0; r446error((((T446*)C))->_start_position/*20*/,((T0*)ms69_470)); return R; } /*No:SIMPLE_FEATURE_NAME.set_is_frozen*/ int r446is_a(T446* C,T0* a1){ int R=0; R=X291is_a(X291run_type(/*(IRF4.6result_type*/(((T820*)((T820*)((((T446*)C))->_run_feature_2/*24*/))))->_result_type/*24*//*)*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T446*)C))->_start_position/*20*/); r446error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:SIMPLE_FEATURE_NAME.is_current*/ /*No:SIMPLE_FEATURE_NAME.mapping_c_arg*/ /*No:SIMPLE_FEATURE_NAME.static_value*/ void r446make(T446* C,T0* a1,T0* a2){ C->_to_string=r902item(a1); C->_start_position=a2; } void r446mapping_c_target(T446* C,T0* a1){ int _flag=0; _flag=r324call_invariant_start(a1); r446compile_to_c(C); /*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:SIMPLE_FEATURE_NAME.nb_errors*/ /*No:SIMPLE_FEATURE_NAME.to_string*/ /*No:SIMPLE_FEATURE_NAME.fz_iinaiv*/ /*No:SIMPLE_FEATURE_NAME.dca_inline_argument*/ T0* r446run_feature(T446* C,T0* a1){ T0* R=NULL; R=r355get_feature(((T355*)(X291run_class(a1))),(T0*)C); return R; } /*No:SIMPLE_FEATURE_NAME.start_position*/ void r446compile_to_c(T446* C){ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms5_446)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)((T820*)((((T446*)C))->_run_feature_2/*24*/))))->_name/*16*/)); /*]*/ } /*No:SIMPLE_FEATURE_NAME.c_simple*/ T0* r446to_runnable(T446* C,T0* a1){ T0* R=NULL; T0* _new_name=NULL; T0* _rf=NULL; T0* _wbc=NULL; /*IF*/if (((((T446*)C))->_current_type/*12*/)==((void*)(NULL))) { C->_current_type=a1; _wbc=r627base_class(((T627*)((((T446*)C))->_start_position/*20*/))); _new_name=r605new_name_of(((T605*)(X291base_class(a1))),_wbc,(T0*)C); _rf=r355get_feature(((T355*)(X291run_class((((T446*)C))->_current_type/*12*/))),_new_name); /*IF*/if ((_rf)==((void*)(NULL))) { r446error((((T446*)C))->_start_position/*20*/,((T0*)ms2_446)); } else { C->_run_feature_2=_rf; if(NULL!=(C->_run_feature_2))switch(((T0*)C->_run_feature_2)->id) { case 820: break; default: C->_run_feature_2=NULL; };/*IF*/if (((((T446*)C))->_run_feature_2/*24*/)==((void*)(NULL))) { r683add_position(X496start_position(_rf)); r446error((((T446*)C))->_start_position/*20*/,((T0*)ms3_446)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } else { r446error((((T446*)C))->_start_position/*20*/,((T0*)ms4_446)); } /*FI*/} else if ((a1)==((void*)((((T446*)C))->_current_type/*12*/))) { R=(T0*)C; } else { {T446*n=malloc(sizeof(*n)); *n=M446; r446make(n,(((T446*)C))->_to_string/*16*/,(((T446*)C))->_start_position/*20*/); R=(T0*)n; } R=r446to_runnable(((T446*)R),a1); } /*FI*/return R; } /*No:SIMPLE_FEATURE_NAME.run_feature_2*/ /*No:SIMPLE_FEATURE_NAME.result_type*/ /*No:SIMPLE_FEATURE_NAME.is_result*/ /*No:SIMPLE_FEATURE_NAME.is_static*/ int r446can_be_dropped(T446* C){ int R=0; r683add_position((((T446*)C))->_start_position/*20*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_446); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ return R; } /*No:SIMPLE_FEATURE_NAME.current_type*/ /*No:SIMPLE_FEATURE_NAME.to_key*/ /*No:SIMPLE_FEATURE_NAME.compile_to_c_old*/ /*No:SIMPLE_FEATURE_NAME.static_value_mem*/ /*No:SIMPLE_FEATURE_NAME.is_manifest_string*/ T0* r446name_in(T446* C,T0* a1){ T0* R=NULL; T0* _bc=NULL; _bc=r446origin_base_class(C); /*IF*/if ((_bc)==((void*)(a1))) { R=(T0*)C; } else { R=r605new_name_of(((T605*)a1),_bc,(T0*)C); } /*FI*/return R; } /*No:SIMPLE_FEATURE_NAME.is_frozen*/ /*No:SIMPLE_FEATURE_NAME.is_void*/ void r446undefine_in(T446* C,T0* a1){ /*IF*/if ((((T446*)C))->_is_frozen/*4*/) { r446error((((T446*)C))->_start_position/*20*/,((T0*)ms1_776)); r605fatal_undefine(((T605*)a1),(T0*)C); } /*FI*/} /*No:SIMPLE_FEATURE_NAME.cpp_put_infix_or_prefix*/ /*No:SIMPLE_FEATURE_NAME.is_pre_computable*/ /*No:SIMPLE_FEATURE_NAME.use_current*/ void r446error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:SIMPLE_FEATURE_NAME.isa_dca_inline_argument*/ /*No:SIMPLE_FEATURE_NAME.fatal_error*/ /*No:SIMPLE_FEATURE_NAME.mapping_c_in*/ T0* r446origin_base_class(T446* C){ T0* R=NULL; T0* _sp=NULL; _sp=(((T446*)C))->_start_position/*20*/; /*IF*/if ((_sp)!=((void*)(NULL))) { R=r627base_class(((T627*)_sp)); } /*FI*/return R; } /*No:SIMPLE_FEATURE_NAME.afd_check*/